Ingenieurinformatik Teil 1, Wintersemester 2026/27
David Straub
Aufschreiben, dann ausführen:
def halbiere(x): return x / 2 def zeige(x): print(x) a = halbiere(10) print(a + 1) b = zeige(10) print(b)
messung_1 = 15.2 messung_2 = 16.1 messung_3 = 14.8 messung_4 = 17.3 # ... und bei 1000 Messwerten?
Gleiche Diagnose wie bei den Schleifen: Kopieren skaliert nicht.
messungen = [15.2, 16.1, 14.8, 17.3] print(messungen) print(len(messungen))
len(...)
messungen = [15.2, 16.1, 14.8, 17.3] print(messungen[0]) # erstes Element print(messungen[2]) print(messungen[-1]) # letztes Element
range
[-1]
append
messungen = [] # leere Liste messungen.append(15.2) messungen.append(16.1) print(messungen)
in
messungen = [15.2, 16.1, 14.8] print(16.1 in messungen) print(99.0 not in messungen)
temperaturen = [18.5, 21.0, 19.8, 23.4, 20.1]
print
22.7
20.1
werte = [10, 20, 30] print(werte[3])
IndexError: list index out of range
0
1
2
len(werte) - 1
werte[-1]
for
messungen = [15.2, 16.1, 14.8, 17.3] for messung in messungen: print(messung)
Die Schleife besucht jedes Element der Reihe nach – kein Index nötig.
randint
from random import randint werte = [] for i in range(10): werte.append(randint(1, 100)) print(werte)
randint(1, 100)
summe = 0 for wert in werte: summe += wert mittel = summe / len(werte) print(f"Mittelwert: {mittel:.1f}")
sum()
max()
werte = [4, 12, 7, 15, 9] maximum = werte[0] for wert in werte: if wert > maximum: maximum = wert print(maximum)
werte = [4, 12, 7, 15, 9] – bei welchen Werten ändert sich maximum?
werte = [4, 12, 7, 15, 9]
maximum
maximum = werte[0] for wert in werte: if wert > maximum: maximum = wert
wert
wert > maximum
Dieses Programm soll das Maximum finden. Für [8, 14, 22] stimmt es – für [-5, -2, -9] liefert es 0. Warum? Beheben Sie den Fehler:
[8, 14, 22]
[-5, -2, -9]
werte = [-5, -2, -9] maximum = 0 for wert in werte: if wert > maximum: maximum = wert print(maximum)
werte = [8, 14, 3, 22, 11, 6]
Zählen Sie mit einer Schleife, wie viele Werte über 10 liegen, und geben Sie die Anzahl aus (print).
Tipp: Das ist wieder das Akkumulator-Muster – nur zählen Sie statt zu summieren.
Schreiben Sie ein Programm:
mittelwert(werte)
return
Notieren Sie zuerst: Was gehört in die Funktion, was ins Hauptprogramm? (Die Frage aus Woche 6!)
Zusatz für Schnelle: Auch maximum(werte) als Funktion – ohne max(), versteht sich.
maximum(werte)
Wir entwickeln die Lösung jetzt zusammen.
Ohne Computer:
werte = [5, 8, 2]
len([10, 20, 30])
werte.append(7)
Nächste Woche: Strings – außerdem eine kurze Mini-Probeklausur (15 min, zählt nicht, zeigt Ihnen, wo Sie stehen)